<?php
/**
 * Autor:   Miguel A. Zilli
 * Email:   miguelzilli@gmail.com
 */

class InformestecnicosController extends AppController{
    var $name = 'Informestecnicos';
    var $uses = array('Informestecnico','Etapa','Revision','Produccion','Producto');

    function agregar($id_revision){
        if (!empty($this->data)){
            $this->data['Informestecnico']['revision_id']=$id_revision;
            if ($this->Informestecnico->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect('/revisiones/ver/'.$id_revision);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        $revision=$this->Revision->find('first',array('conditions'=>'Revision.id='.$id_revision));
        $this->set('revision',$revision);
        $produccionesList= $this->Produccion->find('all',array(
                'fields'=>array('Produccion.id','Producto.nombre_prod','Producto.variedad_prod','Produccion.fch_prod'),
                'conditions'=>array(
                    'Produccion.productor_id'=>$revision['Revision']['productor_id'],
                    'Revision.actividadtipo'=>$this->ID_FRUTIHORTICOLA
                ),
                'order'=>array('Producto.nombre_prod'=>'ASC','Producto.variedad_prod'=>'ASC','Produccion.fch_prod'=>'DESC')
            ));
        $producciones = Set::combine($produccionesList,'{n}.Produccion.id',array(
                '%s  %s  %s','{n}.Producto.nombre_prod', '{n}.Producto.variedad_prod','{n}.Produccion.fch_prod'));
        $this->set('producciones', $producciones);
        $this->set('etapas',$this->Etapa->find('list',array('fields'=>'nombre_etapa','order'=>'nombre_etapa ASC')));
    }

    function editar($id=null){
        if (!empty($this->data)){
            if ($this->Informestecnico->save($this->data)){
                $this->Session->setFlash('Operacion realizada correctamente.');
                $this->redirect('/revisiones/ver/'.$this->data['Informestecnico']['revision_id']);
            }else{
                $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            }
        }
        if (empty($this->data)){
            $inftecnico=$this->Informestecnico->read(null,$id);
        }
        $revision=$this->Revision->find('first',array('conditions'=>'Revision.id='.$inftecnico['Informestecnico']['revision_id']));
        $this->set('revision',$revision);
        $produccionesList= $this->Produccion->find('all',array(
                'fields'=>array('Produccion.id','Producto.nombre_prod','Producto.variedad_prod','Produccion.fch_prod'),
                'conditions'=>array(
                    'Produccion.productor_id'=>$revision['Revision']['productor_id'],
                    'Revision.actividadtipo'=>$this->ID_FRUTIHORTICOLA
                ),
                'order'=>array('Producto.nombre_prod'=>'ASC','Producto.variedad_prod'=>'ASC','Produccion.fch_prod'=>'DESC')
            ));
        $producciones = Set::combine($produccionesList,'{n}.Produccion.id',array(
                '%s  %s  %s','{n}.Producto.nombre_prod', '{n}.Producto.variedad_prod','{n}.Produccion.fch_prod'));
        $this->set('producciones', $producciones);
        $this->set('etapas',$this->Etapa->find('list',array('fields'=>'nombre_etapa','order'=>'nombre_etapa ASC')));
    }

    function eliminar($id){
        $id_revision=$this->Informestecnico->field('Informestecnico.revision_id',array('Informestecnico.id'=>$id));
        if($this->Informestecnico->del($id)){
            $this->Session->setFlash('Operacion realizada correctamente.');
            $this->redirect('/revisiones/ver/'.$id_revision);
        }else{
            $this->Session->setFlash('Error: No se pudo realizar la operacion.');
            $this->redirect('/revisiones/ver/'.$id_revision);
        }
    }

}
?>